The popularity and convenience of the Internet has resulted in the reinvention of traditional telephony services. These services are offered over a packet switched network with minimal or no cost to the users. IP (Internet Protocol) telephony, thus, have found significant success, particularly in the long distance market. In general, IP telephony, which is also referred to as Voice-over-IP (VoIP), is the conversion of voice information into data packets that are transmitted over an IP network. Users also have turned to IP telephony as a matter of convenience in that both voice and data services are accessible through a single piece of equipment, namely a personal computer. The continual integration of voice and data services further fuels this demand for IP telephony applications.
The Session Initiation Protocol (SIP) has emerged to address the signaling of calls over an IP network. As an end-to-end protocol, SIP advantageously permits the end nodes with the capability to control call processing. By contrast, traditional telephony services are totally controlled by the intermediate network components; that is, the switches have full control over call establishment, switching, and call termination. In the SIP architecture, it is sometimes desirable for an intermediate network element to control the call processing. For example, codec (coder/decoder) incompatibility may require network intervention to ensure that the exchange of packets are meaningful.
To address the above problem, one conventional approach is to employ a proxy/user agent software architecture that is co-located. Additionally, proprietary, non-SIP protocols have been developed in the conventional system. A number of drawbacks attend this traditional SIP system. The conventional approach centralizes complexity by utilizing a proxy/user agent software architecture that is co-located. The use of proprietary protocols hinders industry deployment and acceptance. Further, under the conventional approach, scalability is reduced, in part, because of the centralized approach.
Therefore, there is a need for an approach for efficiently performing a number of IP telephony services. There is also a need to preserve a standard architecture to promote deployment of network services, while minimizing system complexity. There is also a need to enhance scalability.